package com.MapTest;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;

public class MaoTraverse1 {
    public static void main(String[] args) {
        //Map集合的第二种遍历方式：

        //先创建集合Map
        Map<String, String> m = new HashMap<>();

        //添加键值对：
        m.put("脉动","5元");
        m.put("冰红茶","3元");
        m.put("康师傅","5元");

        //利用lambda表达式进行遍历：
        Set<Map.Entry<String, String>> entrySet2 = m.entrySet();
        entrySet2.forEach (Entry-> {
                String key = Entry.getKey();
                String value = Entry.getValue();
                System.out.println(key + "===" + value);
            }
        );


        //2用迭代器进行循环：
        //获取键值对对象：
        Set<Map.Entry<String, String>> entrySet1 = m.entrySet();
        //获取迭代器对象：
        Iterator<Map.Entry<String, String>> it = entrySet1.iterator();
        while (it.hasNext()) {
            //获取当前键值对对象，并指向下一次键值对对象
            Map.Entry<String, String> entry = it.next();  // 只调用一次 next()
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + "==" + value);
        }



        System.out.println();
        System.out.println("-------------------------------");

        //1用增强for循环进行遍历：
        //首先我们要获取键值对对象放入集合中：
        Set<Map.Entry<String, String>> entrySet = m.entrySet();

        for (Map.Entry<String, String> Entrys : entrySet) {
            String key = Entrys.getKey();
            String value = Entrys.getValue();
            System.out.println(key + "=" + value);
        }


    }
}
